from app import create_app, db
import os

def init_database():
    """初始化数据库"""
    app = create_app(os.getenv('FLASK_ENV', 'default'))
    
    with app.app_context():
        # 删除所有表（重新创建）
        db.drop_all()
        print("已删除所有表")
        
        # 创建所有表
        db.create_all()
        print("数据库表创建成功!")
        
        # 检查是否已有用户，如果没有则创建默认管理员
        from app.models.user import User
        admin_user = User.query.filter_by(username='admin').first()
        
        if not admin_user:
            admin = User(
                username='admin',
                password='admin123',  # 明文密码
                nickname='管理员',
                phone='13800138000',
                email='admin@example.com'
            )
            db.session.add(admin)
            
            # 创建测试用户
            test_user = User(
                username='test',
                password='test123',  # 明文密码
                nickname='测试用户',
                phone='13900139001',
                email='test@example.com'
            )
            db.session.add(test_user)
            
            db.session.commit()
            print("默认用户创建成功!")
            print("管理员账号: admin / admin123")
            print("测试账号: test / test123")
        else:
            print("数据库已初始化，管理员用户已存在")

if __name__ == '__main__':
    init_database()